const { rejects } = require('assert');
const fs = require('fs');
const { resolve } = require('path');
const path = require('path')



// function getFileContent(fileName, callback) {
//     const fullFileName = path.resolve(__dirname, 'json', fileName)
//     fs.readFile(fullFileName, (err, data) => {
//         if (err) {
//             console.log(err);
//             return
//         }
//         callback(
//             // console.log(data.toString()),
//             JSON.parse(data.toString())
//         )
//     })
// }

// //测试
// getFileContent('a.json', aData => {
//     console.log('a data', aData)
//     let b = aData.text
//     getFileContent(b, bData => {
//         console.log('b data', bData)
//         let c = bData.text
//         getFileContent(c, cData => {
//             console.log('c Data', cData)
//         })
//     })
// })



//使用promise书写
function getFileContent(fileName) {
    const promise = new Promise((resolve, reject) => {
        const fullFileName = path.resolve(__dirname, 'json', fileName)
        fs.readFile(fullFileName, (err, data) => {
            if (err) {
                reject(err);
                return
            }
            resolve(
                JSON.parse(data.toString())
            )
        })
    })
    return promise
}

getFileContent('a.json').then(aData => {
    console.log(aData)
    let bData = aData.text
    return getFileContent(bData)
}).then(bData => {
    console.log(bData)
    let cData = bData.text
    return getFileContent(cData)
}).then(cData => {
    console.log(cData)
})







